With the advent of the miniaturization of computer systems, handheld or palmtop computers and Personal Digital Assistants have become prevalent. Many of these handheld devices are built to fit into the hand or palm of a mobile user. Therefore the associated keypads to these handheld devices are small and usually have a limited number of, or small, keys or buttons for input purposes. To allow the mobile user to enter data more easily, such handheld devices are commonly equipped with a handwriting recognition (HWR) system using a stylus and a touch screen.
In a HWR system for entering or editing characters, a stylus is used to write the characters on a touch screen. The characters are then recognized by the HWR system and converted into ASCII characters as if they had been entered using a keypad. Typically, a recognized character is inserted at the current text cursor position.
There are three main approaches to HWR systems: cursive or script recognition, discrete recognition and unistroke recognition. In cursive recognition systems, words are written in a natural way by the user, which may consist of both `joint` and `broken` characters, and recognition usually takes place as each word is written. In discrete recognition systems, characters are printed in a natural way by the user, and recognition takes place as each character is written. In unistroke recognition systems, each character is written as one continuous stroke, which may not necessarily be natural in appearance, and each character is recognized as it is written. Therefore, a unistroke character is usually a symbolic representation of the character.
Since cursive and discrete recognition systems attempt to recognize natural handwriting, they have inherent disadvantages. For example, the accuracy of such systems is usually hampered by the fact that they are not able to distinguish between letters which have similar upper case and lower case appearances while differing only in relative sizes. Confusion can also arise when these systems attempt to differentiate between letters and numbers, for example: `I` and `1` (one), `O` and `0` (zero), and `S` and `5` (five).
Some unistroke recognition implementations on the other hand, use character modes to solve the letter case problem and letter-number confusion described above. These unistroke recognition approaches require users to learn a predefined unique stroke, or "gesture," for each letter and number, and known Shift, Caps Lock and Num Lock character modes. In these systems, the character mode gestures behave like their functional equivalent keys or buttons found on keypads. Thus each letter is represented by only one gesture, and the Shift or Caps Lock character mode gesture, when used, enables the next written letter to be recognized as an upper case letter. Similarly, the Num Lock character mode is used to tell the unistroke recognition system that the user will subsequently be writing numbers, so that it will not mistake a `5` (five) for an `S`, or a `0` (zero) for an `O`, even though these letter-number pairs share the same unique gestures. The Caps Lock and Num Lock character mode gestures act as toggles, turning the character modes on or off just like their keypad equivalents.
Many of these commercially available unistroke recognition systems, e.g., Graffiti from Palm Computing, also use on-screen user interfaces in the form of dialog boxes or windows to select the different character modes and to display the character mode status. In operation, the user activates each character mode with a "button" on the touch screen which is part of the on-screen user interface dialog box or window. The on-screen character mode buttons commonly available are the Caps Lock and Num Lock buttons. Other character modes supported by some unistroke recognition systems are Shift, Punctuation and Extended Character (for selecting European accented characters). These character modes are usually not accessible through on-screen character mode buttons but by unique gestures, and operate only on the next written character. In general, selecting each of the above character modes may be viewed as selecting a predetermined group of characters within the ASCII character set.
While such commercially available unistroke recognition systems using on-screen user interfaces have achieved substantial use, they suffer from disadvantages. A disadvantage addressed by the present invention is that users have to shift their focus between the text cursor position and the on-screen character mode buttons during the selection of a character mode, or when they want to check the character mode status. This shift of focus can be quite tedious. This problem of constantly shifting the focus between the text cursor location and on-screen character mode buttons becomes more acute when users do not use the on-screen character mode buttons to select the character modes. Since these users will use the character mode gestures instead, they will have to look at the on-screen character mode buttons to check whether or not their character mode selection was successfully implemented. This procedure can be even more trying.
In extreme cases, the on-screen user interface dialog box or window takes up precious screen space. This is undesirable for handheld devices, which have small display areas or screens.
Accordingly, it is an object of the present invention to provide a method for cuing a computer system user who is entering or editing a character at a text cursor position on a display of a computer system with an input device.